#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include "AgvCar.hpp"
#include "Schedule.hpp"
#include "Station.hpp"
#include "Task.hpp"

// const int defaultSize = 20;
int main()
{
    //创建地图大小,20 x 20
    std::vector<std::vector<int>> grid(defaultSize,std::vector<int>(defaultSize));
     for (int i = 0; i < defaultSize; ++i) 
     {
        for (int j = 0; j < defaultSize; ++j) 
        {
            grid[i][j] = 0;
        }
    }

    // 创建分配器，分配器会确定使用几个小车
    Scheduler *sch = new Scheduler(grid);
    // 创建站点
    Station *st = new Station();

    while (true)
    {
        // 产生任务
        Task task = st->ProductTask();

        // 将任务放入分配器
        sch->AddTask(task);
        
        sch->Start();
        std::cout<<"----------------------------------"<<std::endl;
    }
}